<?php

/**
 * Usuario form.
 *
 * @package    toyomotor
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class UsuarioForm extends BaseUsuarioForm
{
  public function configure()
  {
      $this->widgetSchema['perfil'] = new sfWidgetFormChoice(array('choices'  => Doctrine_Core::getTable('Usuario')->getPerfiles(),'expanded' => false,));
      $this->widgetSchema['password'] = new sfWidgetFormInputPassword();
      $this->widgetSchema['telefono1']->setLabel('Telefono');
      $this->widgetSchema['celular1']->setLabel('Celular');
      $this->widgetSchema['recibir_info']->setLabel('Recibir Informacion');
      unset($this['created_at'], $this['rif']);
      
      //$this->validatorSchema['ciudad'] = new sfWidgetFormInput(array('required' => true), array('required' => 'Campo Obligatorio'));
      //$this->validatorSchema['zona'] = new sfWidgetFormInput(array('required' => true), array('required' => 'Campo Obligatorio'));
  }
  
  /*
   * Metodo agregado el 17/11/2011 debido a que en el backend no debe estar separado el campo y se necesita un metodo donde crear los campos extras
   */
  public function agregarcamposcodigo(){
      $this->widgetSchema['codigot'] = new sfWidgetFormInput(array('label' => ''));
      $this->widgetSchema['codigoc'] = new sfWidgetFormInput(array('label' => ''));
      
      $this->validatorSchema['codigot'] = new sfValidatorRegex(array('pattern' => '/^[0-9]{4,4}?$/', 'required' => false), array('required' => 'El campo codigo de area es obligatorio','invalid' => 'El formato no es el correcto, debe ingresar solo 4 numeros de la siguiente manera xxxx'));
      $this->validatorSchema['codigoc'] = new sfValidatorRegex(array('pattern' => '/^[0-9]{4,4}?$/'), array('required' => 'El campo codigo de area es obligatorio','invalid' => 'El formato no es el correcto, debe ingresar solo 4 numeros de la siguiente manera xxxx'));
      $this->validatorSchema['telefono1'] = new sfValidatorRegex(array('pattern' => '/^[0-9]{7,7}?$/', 'required' => false), array('required' => 'El campo telefono es obligatorio','invalid' => 'El formato no es el correcto, debe ingresar solo 7 numeros de la siguiente manera xxxxxxxx'));
      $this->validatorSchema['celular1'] = new sfValidatorRegex(array('pattern' => '/^[0-9]{7,7}?$/'), array('required' => 'El campo celular es obligatorio','invalid' => 'El formato no es el correcto, debe ingresar solo 7 numeros de la siguiente manera xxxxxxxx'));
      
  }
  
  /* Metodo agregado el 17/11/2011 debido a que querian el telefono en 2 partes
   * se debe recuperar el telefono completo y separarlo
   */
  public function recuperarcodigo($usuario){
      
      $telefono = $usuario->getTelefono1();
      $celular = $usuario->getCelular1();
      
      $ct = substr($telefono, 0, 4);
      $t = substr($telefono, 4, 7);
      
      if($celular != null || $celular != ""){
          $cc = substr($celular, 0, 4);
          $c = substr($celular, 4, 7);          
      }else{
          $cc = null;
          $c = null;  
      }
      
      $this->setDefault('celular1',$c);
      $this->setDefault('telefono1',$t);
      $this->setDefault('codigoc',$cc);
      $this->setDefault('codigot',$ct);
      
  }
}
